'''
功能
1.登录
2.退出
3.查询余额
4.取钱
5.存钱
6.界面展示
'''

# 初始化账户信息
acc_list = [{'account':'zhangsan','password':'py123456','money':'100'},
       {'account':'lisi','password':'php123456','money':'200'},
       {'account':'wanger','password':'java123456','money':'300'},
       {'account':'mazi','password':'c123456','money':'400'}]

# 登录
def login():
    zhanghu = input('请输入账户名：')
    mima = input('请输入密码：')
    login_acc = {'account':'{}'.format(zhanghu),'password':'{}'.format(mima)}    # 存储用户输入的账号密码信息
    for i,acc in enumerate(acc_list):  # 索引遍历
        if login_acc['account'] == acc['account'] and login_acc['password'] == acc['password']:   #比较用户输入的信息与库的信息
            print('登录成功')
            break   # 跳出循环
        elif i ==len(acc_list)-1:
            print('信息错误，请重新输入')
            login()
    return i


# 查询余额
def inq_money(i):
    print('账户余额：',acc_list[i]['money'])
# 取钱
def draw_money(i):
    draw = int(input('请输入取钱金额：'))
    acc_list[i]['money'] = int(acc_list[i]['money']) - draw  # 计算取钱后的余额
    print('账户余额：', acc_list[i]['money'])                 # 显示最新余额
# 存钱
def save_money(i):
    save = int(input('请输入存入金额：'))
    acc_list[i]['money'] = int(acc_list[i]['money']) + save  # 计算存钱后的余额
    print('账户余额：', acc_list[i]['money'])   # 显示最新余额

# 主界面
def main():
    print('='*20,'自动取款机','='*20)
    print('{:<10}{:<10}{:<10}{:<10}'.format('1.查询余额','2.存钱','3.取钱','4.退出'))
    print('=' * 50)

# 返回菜单
def back_main():
    print('{:<15}{:<15}'.format('1.返回上一菜单','2.退出'))
    system_num =int(input('请输入选项：'))
    if system_num == 1:  # 判断是否返回
        main()
        main_num = int(input('请输入选项：'))
        main_system(main_num)     # 再次进入主操作流程
    elif system_num ==2:
        print('结束')
    else:
        print('输入错误，请重新选择')
        back_main()
    print('=' * 50)

# 操作流程
def main_system(main_num):
    print('=' * 20, '自动取款机', '=' * 20)
    if main_num == 1:
        inq_money(i)  # 查询余额
        back_main()   # 返回主菜单
    elif main_num == 2:
        save_money(i)  # 存钱
        back_main()    # 返回主菜单
    elif main_num == 3:
        draw_money(i)  # 取钱
        back_main()    # 返回主菜单
    elif main_num == 4:
        print('结束')
    else:
        main_num = int(input('输入错误，请重新输入:'))
        main_system(main_num)     # 输入错误，重新来


#登录程序

print('='*20,'自动取款机','='*20)
print('{:<20}{:<20}'.format('1.登录','2.退出'))
print('='*50)
num = int(input('请输入选项：'))
print('='*20,'自动取款机','='*20)
if num == 1:
    i = login()  # 登录
    main()     # 主界面选择功能
    main_num =int(input('请输入选项：'))
    main_system(main_num)   #进入不同功能模块
elif num == 2:
    print('结束')









